﻿using System;
using System.Linq;
using SubsidiosBussinessLogic.Models;
using SubsidiosBussinessLogic.DataAccess.Interfaces;

namespace SubsidiosBussinessLogic.DataAccess.SqlServerRepository
{
    public class BloqueRepository : Repository<Bloque>, IBloqueRepository
    {


        #region Miembros de IBloqueRepository

        public BloqueRepository(IDataContextFactory dataContextFactory) : base(dataContextFactory)
        {
        }

        public IQueryable<Bloque> GetBloques()
        {
            return All();
        }

        public Bloque CreateBloque()
        {
            return CreateInstance();
        }

        public Bloque FindSingle(Func<Bloque, bool> func)
        {
            return Single(func);
        }

        public IQueryable<Bloque> FindWithMatch(Func<Bloque, bool> func)
        {
            return FindAll(func);
        }

        public void DeleteBloque(Bloque bloque)
        {
            MarkForDeletion(bloque);
            SaveAll();
        }

        public void SaveBloque()
        {
            SaveAll();
        }

        #endregion
    }

 
}
